安裝完MongoDB之後,預設是沒有任何帳號與保護措施的,也就是說,不用帳號你就可以連線資料庫,進行任何的讀取和寫入。
因此安裝完MongoDB後,要記得建立資料庫的使用者,才能安全使用。
建立帳號之前,要使用認證模式來啟動MongoDB,後續的動作才會生效。
mongod --auth
之後,用 mongo 指令進入MongoDB的client端.
use admin //使用admin資料庫
db.addUser(‘root’,'yourpassword’)
這樣就建好系統的root user。
可以用
db.auth('root','password')
測試,如果回傳值是1, 就代表認證成功。
一定要先要在admin資料庫中,建立一個管理員權限的帳號,認證才能生效,也才能夠幫其他的資料庫建立資料。
另外,要幫其他資料庫建資料庫的流程,一樣要先登入這個admin的帳號,認證通過之後,才能建其他的資料庫使用者帳號。底下,以建立另一個資料庫使用者帳號為例:
use admin
db.auth('root','password')
use books //切換到另一個資料庫
db.addUser('wordsmith','password') //加入新的使用者
db.auth('wordsmith','password') //用新帳號登入
這樣子,就可以建立好帳號了。
延伸閱讀:http://docs.mongodb.org/manual/administration/security/
不知道為何叫MongoDB....
對Mongo有點印象, 查查古哥, 原來是非洲的查德共和國的首都, 再看Wiki, 已經被民主解放聯合前線陣營...也就是叛軍...佔領了...
自行從MySQL被Oracle吃下後, Open Source陣營就一直在推動另一套Open DB, 看來MongoDB是比較被關注的.
官網上的解釋是截自「humongous」:
MongoDB (from "humongous") is a scalable, high-performance, open source NoSQL database.
不過我是都把它跟芒果想在一起,哈哈。
如果說MySQL的替代品,PostgreSQL應該是比較有機會的,MongoDB則是NoSQL DB中,簡單易入門的一個資料庫。